package org.hook.showcase.pattern.strategy;

import org.hook.showcase.pattern.strategy.impl.AxeBehavior;
import org.hook.showcase.pattern.strategy.impl.KingCharacter;
import org.hook.showcase.pattern.strategy.impl.KnifeBehavior;
import org.hook.showcase.pattern.strategy.impl.KnightCharacter;
import org.hook.showcase.pattern.strategy.impl.QueenCharacter;
import org.hook.showcase.pattern.strategy.impl.SwordBehavior;

public class StategyPatternCase {

	public static void main(String[] args) {
		KingCharacter king = new KingCharacter();
		QueenCharacter queen = new QueenCharacter();
		KnightCharacter knight = new KnightCharacter();
		king.fight();
		queen.fight();
		knight.fight();
		System.out.println("----------------");
		king.setWeaponBehavior(new AxeBehavior());
		queen.setWeaponBehavior(new SwordBehavior());
		knight.setWeaponBehavior(new KnifeBehavior());
		king.fight();
		queen.fight();
		knight.fight();
	}
}
